package com.atguigu.dao.impl;

import com.atguigu.dao.UpdatePhpCodeTaskDao;
import com.atguigu.pojo.UpdatePhpCodeTask;

import java.util.List;


public class UpdatePhpCodeTaskDaoImpl extends BaseDao implements UpdatePhpCodeTaskDao {

    @Override
    public int addUpdatePhpCodeTask(UpdatePhpCodeTask updatePhpCodeTask) {
        System.out.println("UpdatePhpCodeTaskDaoImpl程序在[" + Thread.currentThread().getName() + "]线程中");
        String sql = "insert into t_updatePhpCodeTask(`id`,`userId`,`name`,`time`,`files`,`projectType`,`projectModule`,`status`) values(?,?,?,?,?,?,?,?);";
        return update(sql,updatePhpCodeTask.getId(),updatePhpCodeTask.getUserId(), updatePhpCodeTask.getName(),updatePhpCodeTask.getTime(),updatePhpCodeTask.getFiles(),updatePhpCodeTask.getProjectType(),updatePhpCodeTask.getProjectModule(),updatePhpCodeTask.getStatus());
    }

    @Override
    public int deleteUpdatePhpCodeTaskById(String id) {
        String sql = "delete from t_updatePhpCodeTask where id=?";
        return update(sql, id);
    }

    @Override
    public int updateUpdatePhpCodeTask(UpdatePhpCodeTask updatePhpCodeTask) {
        String sql = "update t_updatePhpCodeTask set `userId`=?,`name`=?,`time`=?,`files`=?,`projectType`=?,`projectModule`=?,`status`=? where id=?";
        return update(sql,updatePhpCodeTask.getUserId(), updatePhpCodeTask.getName(),updatePhpCodeTask.getTime(),updatePhpCodeTask.getFiles(),updatePhpCodeTask.getProjectType(),updatePhpCodeTask.getProjectModule(),updatePhpCodeTask.getStatus(), updatePhpCodeTask.getId());
    }

    @Override
    public UpdatePhpCodeTask queryUpdatePhpCodeTaskById(String id) {
        String sql = "select `id`,`userId`,`name`,`time`,`files`,`projectType`,`projectModule`,`status` from t_updatePhpCodeTask where id=?";
        return queryForOne(UpdatePhpCodeTask.class, sql, id);
    }

    @Override
    public List<UpdatePhpCodeTask> queryUpdatePhpCodeTasks() {// 查询全部
        String sql = "select `id`,`userId`,`name`,`time`,`files`,`projectType`,`projectModule`,`status` from t_updatePhpCodeTask";
        return queryForList(UpdatePhpCodeTask.class, sql);
    }

    @Override
    public Integer queryForPageTotalCount() {//查询总条目数,为page分片做准备
        String sql = "select count(*) from t_updatePhpCodeTask";
        Number updatePhpCodeTaskCount = (Number) queryForSingleValue(sql);//这个语句似乎可以返回任何类型的查询
        //System.out.println(bookCount);
        return updatePhpCodeTaskCount.intValue();
    }

    @Override
    public List<UpdatePhpCodeTask> queryForPageItems(Integer begin, Integer pageSize) {
        String sql = "select `id`,`userId`,`name`,`time`,`files`,`projectType`,`projectModule`,`status` from t_updatePhpCodeTask limit ?,?";
        return queryForList(UpdatePhpCodeTask.class, sql, begin, pageSize);//查询数据片段
    }
}


